% isAs.m by SmartBet (Fran), Granada, 30-11-11

% Given an boolean resultado: true if any card is interpreted only as an
% one, and false anything else


function resultado = isAs(cartas)

% Make sure input is an integer array.
if ( numel(cartas) == 1)
    error('Argument must be an integer array.');
    return;
end

for i = 1:numel(cartas)
    
    if ( cartas(i) ~= floor(cartas(i)) )
        error('Argument must be an integer array.');
        return;
    end

    if ~isreal(cartas(i))
        error('Argument must be an integer.');
        return;
    end

    if ( cartas(i) <= 0 || cartas(i) > 10)
        error('Integers must be between 1 and 10.');
        return;
    end

end

resultado = false;
contador = 0;
suma = 0;

for i = 1:numel(cartas)
    if cartas(i) == 1
        contador = contador+1;
    else
        suma = suma+cartas(i);
    end
end

if contador == 0
    return;
elseif suma > 10
    return;
elseif suma+contador > 10
    return;
else
    resultado = true;
end
